package com.gph.saviorframework.security.service;

import com.gph.saviorframework.common.model.Function;
import com.gph.saviorframework.base.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * function的对外接口
 * @author guopeihui
 */
public interface FunctionService extends BaseService<Function,String>{

    /**
     * 根据模块编号获取function列表
     * @param moduleId
     * @return
     */
    List<Function> getFunsByModuleId(String moduleId);

    /**
     * 根据用户编号获取列表名称
     * @param username
     * @return
     */
    List<String> findFunctionsByUserId(String username);

    /**
     * 根据模块编号和角色编号获取function Map
     * @param moduleId
     * @param roleId
     * @return
     */
    List<Map<String, Object>> findModuleAndFunctionByRole(String moduleId, String roleId);

    /**
     * 根据模块编号和角色编号获取function Map，模块前面添加checkbox全选
     * @param moduleId
     * @param roleId
     * @return
     */
    List<Map<String, Object>> findModuleWithCheckboxAndFunctionByRole(String moduleId, String roleId);
}
